import details from './details/index.js';
import budget from './budget/index.js';
import expense from './expense/index.js';
import income from './income/index.js';
import transfer from './transfer/index.js';
import exportFunds from './export/index.js';
import deleteFunds from './delete/index.js';
import addFundTags from './add-tags/index.js';
import deleteFundTags from './delete-tags/index.js';
import updateFundTags from './update-tags/index.js';
import { createPlugins } from '../helper.js';

export default {
    name: "账务信息模块",
    description: "支持记录收入/支出/转账等信息、支持查询账务明细数据。当用户问题中包含金额、数字相关内容时，应该优先划分到该模块。",
    role: '账务处理专家，具有记账/查账/数据分析能力',
    examples: [
        {
            question: '发工资收入100元、昨天晚上吃水饺花了28元、今天早上面包花了6元',
            actions: [
                {
                    thought: '需要记录多笔收入/支出/转账等信息，先记录两笔收入信息',
                    action: '录入收入信息',
                    actionInput: [{"primaryTag": "工资", "amount": "100", "remark": "工资收入100元"}, {"primaryTag": "餐饮", "minorTags": "面包", "amount": "6", "remark": "早上面包花了6元"}],
                },
                {
                    thought: '然后记录晚上吃水饺花了28元',
                    action: '录入支出信息',
                    actionInput: [{"primaryTag": "餐饮", "minorTags": "水饺", "amount": "28", "remark": "晚上吃水饺花了28元"}],
                }
            ],
            answer: '等待工具输出后统一作答'
        },
        {
            question: '吃饭20.6 吃饭20.2',
            actions: [
                {
                    thought: '需要记录多笔支出信息',
                    action: '录入支出信息',
                    actionInput: [{"primaryTag": "餐饮", "amount": "20.6", "remark": "吃饭"}, {"primaryTag": "餐饮", "amount": "20.2", "remark": "吃饭"}],
                }
            ],
            answer: '等待工具输出后统一作答'
        },
        {
            question: '地铁2.6',
            actions: [
                {
                    thought: '需要记录一笔地铁支出',
                    action: '录入支出信息',
                    actionInput: [{"primaryTag": "交通", "minorTags": "地铁", "amount": "2.6", "remark": "坐地铁"}],
                }
            ],
            answer: '等待工具输出后统一作答'
        },
        {
            question: '货物退款26',
            actions: [
                {
                    thought: '需要记录一笔退款收入',
                    action: '录入收入信息',
                    actionInput: [{"primaryTag": "其他", "minorTags": "退款", "amount": "26", "remark": "货物退款"}],
                }
            ],
            answer: '等待工具输出后统一作答'
        },
        {
            question: '对比我上周和这周的支出状况，出具一份分析报告',
            actions: [
                {
                    thought: '需要分别查询上周和本周的支出明细，然后进行对比分析以生成波动报告。',
                    action: '查询账务明细',
                    actionInput: [{"question": "查询我上周的支出明细"}, {"question": "查询我这周的支出明细"}],
                }
            ],
            answer: '等待工具输出后统一作答'
        },
        {
            question: '导出我近一周的餐饮明细',
            actions: [
                {
                    thought: '需要导出近一周的餐饮明细信息文件',
                    action: '导出账务明细',
                    actionInput: [{"question": "近一周的餐饮明细"}],
                }
            ],
            answer: '等待工具输出后统一作答'
        },
        {
            question: '删除账务明细12',
            actions: [
                {
                    thought: '需要删除账务明细，需要找到明细ID并调用工具',
                    action: '删除账务记录',
                    actionInput: [{"id": 12}],
                }
            ],
            answer: '等待工具输出后统一作答'
        },
        {
            question: '记录12添加长辈、餐饮标签',
            actions: [
                {
                    thought: '需要修改账务的标签信息',
                    action: '添加账务标签',
                    actionInput: [{"id": 12, "tag": "长辈,餐饮"}],
                }
            ],
            answer: '等待工具输出后统一作答'
        },
        {
            question: '记录12的长辈标签改为餐饮、零食',
            actions: [
                {
                    thought: '需要修改账务的标签信息',
                    action: '修改账务标签',
                    actionInput: [{"id": 12, "sourceTags": "长辈", "targetTags": "餐饮,零食"}],
                }
            ],
            answer: '等待工具输出后统一作答'
        },
    ],
    children: createPlugins([
        details,
        budget,
        expense,
        income,
        transfer,
        exportFunds,
        deleteFunds,
        addFundTags,
        deleteFundTags,
        updateFundTags
    ])
}